﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CAGFIP;
using CAGFIP.Edicao;

namespace Testes
{
    // classe usada na apresentação de pcs2033
    // é necessário que as tabelas assunto e pergunta estejam vazias
    static class Apresentacao
    {
/*        static void Main(string[] args)
        {
            ControladorEdicao ed = new ControladorEdicao();

            ed.CadastrarAssunto("assunto1", "descricaoAssunto1");
            ed.CadastrarAssunto("assunto2", "descricaoAssunto2");

            List<Assunto> assuntos = ed.VisualizarAssuntos();
            imprimirAssuntos(assuntos);

            for (int i = 0; i < 5; i++)
            {
                string[] alterntivasIncorretas = new string[4];

                for (int j = 0; j < 4; j++)
                {
                    alterntivasIncorretas[j] = "alterntivaIncorreta" + j;
                }

                Pergunta pergunta = new Pergunta(assuntos[i % 2].Id, "pergunta" + i, "alterntivaCorreta" + i, alterntivasIncorretas);
                ed.CadastrarPergunta(pergunta);
            }
             
            List<Pergunta> perguntas = ed.VisualizarPerguntas();
            imprimirPerguntas(perguntas);

            for (int i = 0; i < perguntas.Count; i++)
            {
                if (i % 2 == 0)
                {
                    Pergunta pergunta = ed.VisualizarPergunta(perguntas[i].Id);
                    pergunta.Enunciado += "alterada";
                    ed.AlterarPergunta(pergunta);
                }
                else
                {
                    ed.RemoverPergunta(perguntas[i].Id);
                }
            }

            perguntas = ed.VisualizarPerguntas();
            imprimirPerguntas(perguntas);

            for (int i = 0; i < assuntos.Count; i++)
            {
                if (i % 2 == 0)
                {

                    assuntos[i].Nome += "alterado";
                    ed.AlterarAssunto(assuntos[i].Id, assuntos[i].Nome, assuntos[i].Descricao);
                }
                else
                {
                    ed.RemoverAssunto(assuntos[i].Id);
                }
            }

            assuntos = ed.VisualizarAssuntos();
            imprimirAssuntos(assuntos);
        }*/

        static void imprimirAssuntos(List<Assunto> assuntos)
        {
            Console.WriteLine("NomeAssunto");
            for (int i = 0; i < assuntos.Count; i++)
            {
                Console.WriteLine(assuntos[i].Nome);
            }
        }

        static void imprimirPerguntas(List<Pergunta> perguntas)
        {
            Console.WriteLine("Enunciado");
            for (int i = 0; i < perguntas.Count; i++)
            {
                Console.WriteLine(perguntas[i].Enunciado);
            }
        }
    }
}
